Доброго времени суток.

Свои первые рассылку я хочу посвятить теме POST кодов. Приводя частями реферат написанный при стажировке на рабочее место. В нем будет изложено что такое POST код, зачем он нужен, как его увидеть, описание и конкретная легко повторяемая схема для шины ISA и PCI.


Любой персональный компьютер способен произвести при включении питания простую проверку своих основных узлов на работоспособность. Наличие неисправности сообщается в виде серии гудков через системный динамик. Количество и продолжительность гудков позволяет приблизительно судить о месте возникновения неисправности. Однако, значительно более подробную информацию о неисправности можно получить по коду ошибки, выданному с помощью POST карты.

Некоторые виды неисправностей могут проявляться только во время работы компьютера, POST картой их определить невозможно. Это, например, сбой памяти, нестабильное электропитание, неконтакт слотовых процессоров, перегрев и т.п. Часть этих проблем можно решить с помощью тестовых программ, для решения других необходим богатый опыт инженера.

 

1.     Процедура POST BIOS'а

При каждом включении питания компьютера типа IBM PC (или совместимого с ним) и до начала загрузки операционной системы процессор компьютера выполняет процедуру BIOS под названием "Самотест по включению питания" - POST (Power On Self Test). Эта  процедура выполняется также при нажатии на кнопку RESET или комбинацию клавиш Ctrl-Alt-Del. Основной целью процедуры POST является проверка базовых функций и подсистем компьютера (таких как память, процессор, материнская плата, видеоконтроллер, клавиатура, гибкий и жесткий диски и т. д.) перед загрузкой операционной системы. Это в некоторой степени страхует пользователя от попытки работать на неисправной системе, что может привести к потере данных на жестком диске.

Перед началом каждого из тестов процедура POST генерирует так называемый POST код, который выводится по определенному адресу в пространстве адресов устройств ввода/вывода компьютера. В случае обнаружения неисправности в тестируемом устройстве процедура POST просто "зависает", а предварительно выведенный POST код однозначно определяет, на каком из тестов произошло "зависание". Таким образом, глубина и точность диагностики при помощи POST кодов полностью определяется глубиной и точностью тестов соответствующей процедуры POST BIOS'а компьютера.

Адреса портов для вывода POST кодов зависят от типа компьютера: ISA, EISA - 80h, ISA-Compaq - 84h, ISA-PS/2 - 90h, MCA-PS/2 - 680h, некоторые EISA - 300h, однако в большинстве случаев (можно сказать, стандартно) используется порт 80h. Так как процедура POST появилась исторически еще в IBM PC/XT с восьмиразрядной системной шиной ISA, то POST коды представляют собой всего один байт, который приводится в таблицах POST кодов в виде шестнадцатеричных чисел в диапазоне 00h-FFh (0-255 в десятичной системе счисления). Таблицы POST кодов можно найти на соответствующих сайтах производителей BIOS: для AMI это http://www.ami.com, для AWARD - http://www.award.com. Иногда таблицы POST кодов приводятся в руководствах к материнским платам (например, руководства к платам P6SBA-P6DBS Supermicro).

POST карта устанавливается в любой свободный слот ISA или PCI и имеет два семи-сегментных индикатора для отображения POST кодов. Ранее, до появления спецификаций PC 99 и PC 99A наиболее распространенными были POST карты для шины ISA. Сейчас, в связи с угрозой полной ликвидации шины ISA начали появляться более дорогие POST карты для шины PCI.

Ниже приводится типичная последовательность тестов, выполняемая процедурой POST.

1.     Тестирование процессора.

2.     Проверка контрольной суммы ROM BIOS.

3.     Проверка и инициализация контроллеров DMA, IRQ и таймера 8254. После этой стадии становится доступной звуковая диагностика.

4.     Проверка операций регенерации памяти.

5.     Тестирование первых 64 кбайт памяти.

6.     Загрузка векторов прерываний.

7.     Инициализация видеоконтроллера. После этого этапа диагностические сообщения выводятся на экран.

8.     Тестирование полного объема ОЗУ.

9.     Тестирование клавиатуры.

10. Тестирование CMOS памяти.

11. Инициализация COM и LPT портов.

12. Инициализация и тест контроллера FDD.

13. Инициализация и тест контроллера HDD.

14. Поиск дополнительных модулей ROM BIOS и их инициализация.

15. Вызов загрузчика операционной системы (INT 19h, Bootstrap), при невозможности загрузки операционной системы - попытка запуска ROM BASIC (INT 18h); при неудаче - останов системы (HALT).


Продолжение следует.




Используются технологии uCoz